Abstract
Laboratorio elaborado por los siguientes estudiantes de Ingeniería Financiera en el Iteso: Daniel García Hernández, Bruno Isaac Pimentel Vargas y Chelsi Arelí Sedano Gómez para la materia de Microestructuras y Sistemas de Trading impartida por el profesor Omar Antonio Villalobos Ramos.
Este laboratorio tiene como propósito desarrollar diversas herramientas que permitan realizar un análisis profundo al desempeño de actividades de trading, buscando realizar análisis en dos grandes áreas, la primera desde el desempeño de la cuenta y la segunda desde el punto de vista de la persona que maneja la cuenta.</font>
Todas las decisiones que tomamos en nuestra vida diaria se basan en nuestras experiencias, sentimientos, y aprendizajes, después de tomar una decisión agregamos a nuestro conocimiento los resultados de dicha acción y vamos formando nuestro propio criterio con la información. Sin embargo, muchas veces nuestros sentimientos o nuestro ambiente nos lleva a sesgos psicológicos que alteran nuestra toma de decisiones y con ello sus resultados. En las finanzas encontramos que sucede lo mismo, un individuo que realiza trading toma sus decisiones de transacciones de la misma forma.
Las finanzas conductuales estudian la influencia de la psicología en el comportamiento de inversores y analistas financieros, así como su impacto en los resultados. Los individuos al momento de realizar una decisión bajo riesgo e incertidumbre admiten sesgos emocionales o cognitivos en sus decisiones los cuales alteran los precios de los activos, por lo tanto podríamos pensar que la teoría clásica sobre la eficiencia de los mercados y sobre la racionalidad de los inversores presenta notables limitaciones a la hora de entender el comportamiento observado del precio de los activos y de explicar cómo se comportan en realidad los individuos a la hora de invertir.
En el siguiente laboratorio vamos a desarrollar un análisis profundo de todas las operaciones realizadas en el laboratorio 2 las cuales se llevaron a cabo en la plataforma MetaTrader 5, se utilizó un capital de $100,000.00 USD y todas las transacciones registradas fueron realizadas utilizando análisis técnico, análisis fundamental e históricos. Analizaremos la información de tal forma que podamos encontrar los sesgos en nuestras operaciones y lograr saber las afectaciones o beneficios que se obtuvieron.
**Objetivo general:**
Este laboratorio tiene como propósito particular el elaborar herramientas para el análisis del desempeño de la actividad de trading, desde el punto de vista de cada cuenta y desde el punto de vista de cada persona que opera la cuenta.
**Objetivos específicos:**
Realizar la estadística descriptiva,que nos permitan observar el comportamiento de nuestras operaciones realizadas y su composición.
Generar tablas con métricas de atribución al desempeño, que nos permitan saber su evolución y sus resultados.
Analizar como afecta el comportamiento humano en nuestras operaciones y cuál es el resultado de ello en nuestro capital.
Realizar gráficas que nos permitan visualizar los resultados de Ranking, DrawDown, DrawUp y Disposition Effect.
Para poder ejecutar este cuaderno, es necesario tener instalado y/o disponer del archivo requirements.txt con lo siguiente:
Las siguientes son las dependencias de archivos que se necesitan para ejecutar este cuaderno:
%%capture
# Install all the pip packages in the requirements.txt
import sys
!{sys.executable} -m pip install -r requirements.txt
import warnings
if not sys.warnoptions:
warnings.simplefilter("ignore")
from functions import log_meta, load_excel, est_desc, metricas_ad, behavioral_finance, visualizaciones
from datetime import datetime
Para este apartado se importa el archivo con MT5 el cuál contiene la información de todas las operaciones realizadas en FX en el laboratorio anterior. Aquí se debe de determinar el nombre del usuario, la ruta donde se encuentra el MT5, la cuenta, la contraseña de esta y las fechas de las cuales necesitas la información.
Estas funciones lo que realizan es una limpieza de datos, se obtiene la información faltante, se ponen las fechas en el formato correspondiente y se obtienen las columnas correspondientes al pip.
Se hizo de tal forma para que si no se tuviera la aplicación de MT5, aun así se pudiera obtener los resultados, leyendo las bases desde un excel.
usuario_c = 'Chelsi Sedano'
meta_path_c = 'C:\Program Files\MetaTrader 5 Terminal\\terminal64.exe'
login_count_c = 5400342
password_count_c = 'XN1xho9d'
server_name_c = 'FxPro-MT5'
start_date_c = datetime(2021, 8, 1)
end_date_c = datetime.today()
log_chelsi = log_meta(meta_path_c, login_count_c, password_count_c, server_name_c, start_date_c, end_date_c)
log_chelsi.historical()
| position_id | symbol | type | opentime | volume_initial | price | sl | tp | closetime | second_price | swap | profit | tiempo | pip_size | pips | pips_acum | profit_acum | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 45386433 | EURUSD | buy | 2021-09-17 15:54:13 | 0.01 | 1.17765 | 1.17160 | 0 | 2021-09-21 18:29:24 | 1.17159 | -0.20 | -6.06 | 354911 | 10000.0 | -60.6 | -60.6 | -6.06 |
| 1 | 45428523 | USDCAD | buy | 2021-09-20 23:42:23 | 0.04 | 1.28145 | 1.27 | 1.29 | 2021-09-21 23:14:17 | 1.28199 | -0.13 | 1.68 | 84714 | 10000.0 | 5.4 | -55.2 | -4.38 |
| 2 | 45428536 | #JP225_Z21 | buy | 2021-09-20 23:46:16 | 0.06 | 29575.00000 | 0 | 0 | 2021-09-21 10:42:20 | 30000.00000 | 0.00 | 127.50 | 39364 | 100.0 | 42500.0 | 42444.8 | 123.12 |
| 3 | 45452652 | NDAQ.O | buy | 2021-09-21 20:58:06 | 0.04 | 191.69000 | 190.88 | 195.00 | 2021-09-23 16:31:05 | 195.17000 | 0.00 | 0.14 | 156779 | 100.0 | 348.0 | 42792.8 | 123.26 |
| 4 | 45452873 | #USSPX500 | buy | 2021-09-21 21:14:27 | 0.04 | 4364.10000 | 4362.00 | 4381 | 2021-09-21 21:17:04 | 4361.95000 | 0.00 | -0.29 | 157 | 100.0 | -215.0 | 42577.8 | 122.97 |
| 5 | 45452934 | #USSPX500 | buy | 2021-09-21 21:18:51 | 0.08 | 4363.75000 | 4358.00 | 4381 | 2021-09-21 21:23:52 | 4358.05000 | 0.00 | -0.46 | 301 | 100.0 | -570.0 | 42007.8 | 122.51 |
| 6 | 45453061 | #UK100 | buy | 2021-09-21 21:25:38 | 0.08 | 6972.30000 | 0 | 0 | 2021-09-22 06:01:55 | 6990.15000 | -0.27 | 9.97 | 30977 | 100.0 | 1785.0 | 43792.8 | 132.48 |
| 7 | 45453141 | AAPL.O | buy | 2021-09-21 21:30:09 | 0.10 | 143.25000 | 0 | 0 | 2021-09-23 21:37:18 | 146.75000 | 0.00 | 0.35 | 173229 | 100.0 | 350.0 | 44142.8 | 132.83 |
| 8 | 45473438 | ADBE.O | buy | 2021-09-22 19:11:17 | 0.25 | 626.25000 | 615 | 651 | 2021-09-23 21:22:32 | 631.96000 | -0.03 | 3.17 | 94275 | 100.0 | 571.0 | 44713.8 | 136.00 |
| 9 | 45476819 | CME.O | buy | 2021-09-22 21:15:11 | 0.45 | 187.74000 | 180 | 193.00 | 2021-09-23 20:18:48 | 193.00000 | -0.01 | 2.37 | 83017 | 100.0 | 526.0 | 45239.8 | 138.37 |
| 10 | 45479486 | NFLX.O | sell | 2021-09-22 22:01:12 | 0.45 | 589.31000 | 596.00 | 577 | 2021-09-23 16:43:24 | 596.34000 | -0.02 | -3.16 | 67332 | 100.0 | -703.0 | 44536.8 | 135.21 |
| 11 | 45503825 | AMZN.O | buy | 2021-09-23 20:41:20 | 0.06 | 3423.43000 | 3390.00 | 3457 | 2021-09-27 16:31:06 | 3377.82000 | -0.72 | -30.23 | 330586 | 100.0 | -4561.0 | 39975.8 | 104.98 |
| 12 | 45504575 | UBER.N | sell | 2021-09-23 21:53:42 | 1.00 | 45.44000 | 46.61 | 43.76 | 2021-09-24 16:42:15 | 46.61000 | -0.01 | -3.51 | 67713 | 100.0 | -117.0 | 39858.8 | 101.47 |
| 13 | 45504667 | SILVER | buy | 2021-09-23 22:05:35 | 4.00 | 22.64000 | 22.480 | 22.7 | 2021-09-23 23:24:19 | 22.48500 | 0.00 | -775.00 | 4724 | 100.0 | -15.5 | 39843.3 | -673.53 |
| 14 | 45504874 | BTCUSD | buy | 2021-09-23 22:30:12 | 0.06 | 44704.57000 | 0 | 44610.00 | 2021-09-23 22:33:07 | 44610.25000 | 0.00 | -5.66 | 175 | 100.0 | -9432.0 | 30411.3 | -679.19 |
| 15 | 45504934 | BTCUSD | buy | 2021-09-23 22:36:58 | 0.06 | 44840.61000 | 41216 | 45300 | 2021-09-24 02:05:02 | 44600.70000 | -1.49 | -14.39 | 12484 | 100.0 | -23991.0 | 6420.3 | -693.58 |
| 16 | 45504963 | EURUSD | buy | 2021-09-23 22:39:55 | 0.05 | 1.17463 | 0 | 0 | 2021-09-24 02:05:13 | 1.17411 | -0.26 | -2.60 | 12318 | 10000.0 | -5.2 | 6415.1 | -696.18 |
| 17 | 45751162 | BTCUSD | sell | 2021-10-06 21:02:22 | 0.50 | 54584.79000 | 55750.00 | 0 | 2021-10-07 02:12:16 | 55770.26000 | -15.28 | -592.74 | 18594 | 100.0 | -118547.0 | -112131.9 | -1288.92 |
| 18 | 45751358 | NDAQ.O | buy | 2021-10-06 21:11:41 | 0.50 | 195.16000 | 0 | 197.00 | 2021-10-07 16:34:13 | 197.01000 | -0.18 | 20.51 | 69752 | 100.0 | 185.0 | -111946.9 | -1268.41 |
usuario_d = 'Daniel Garcia'
meta_path_d = 'C:\Program Files\MetaTrader 5 Terminal\\terminal64.exe'
login_count_d = 5400339
password_count_d = '2qeDQrhu'
server_name_d = 'FxPro-MT5'
start_date_d = datetime(2021, 8, 1)
end_date_d = datetime.today()
log_daniel = log_meta(meta_path_d, login_count_d, password_count_d, server_name_d, start_date_d, end_date_d)
log_daniel.historical()
| position_id | symbol | type | opentime | volume_initial | price | sl | tp | closetime | second_price | swap | profit | tiempo | pip_size | pips | pips_acum | profit_acum | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 45426323 | USDCHF | buy | 2021-09-20 21:29:45 | 0.01 | 0.92805 | 0.92745 | 0 | 2021-09-21 04:12:02 | 0.92745 | 0.00 | -0.65 | 24137 | 10000.0 | -6.0 | -6.0 | -0.65 |
| 1 | 45427257 | EURUSD | buy | 2021-09-20 22:38:16 | 0.05 | 1.17282 | 1.17262 | 1.1729 | 2021-09-20 23:10:27 | 1.17262 | 0.00 | -1.00 | 1931 | 10000.0 | -2.0 | -8.0 | -1.65 |
| 2 | 45442520 | GBPUSD | buy | 2021-09-21 16:08:58 | 0.05 | 1.36665 | 1.36632 | 1.36673 | 2021-09-21 16:09:13 | 1.36630 | 0.00 | -1.75 | 15 | 10000.0 | -3.5 | -11.5 | -3.40 |
| 3 | 45442553 | GBPUSD | buy | 2021-09-21 16:09:36 | 0.01 | 1.36616 | 1.36566 | 0 | 2021-09-21 16:30:11 | 1.36560 | 0.00 | -0.56 | 1235 | 10000.0 | -5.6 | -17.1 | -3.96 |
| 4 | 45451863 | EURUSD | buy | 2021-09-21 20:21:12 | 0.10 | 1.17260 | 0 | 1.17370 | 2021-09-22 17:10:53 | 1.17372 | -0.52 | 11.20 | 74981 | 10000.0 | 11.2 | -5.9 | 7.24 |
| 5 | 45478439 | GBPUSD | buy | 2021-09-22 21:46:33 | 0.05 | 1.36346 | 0 | 1.36570 | 2021-09-23 10:59:35 | 1.36570 | -0.18 | 11.20 | 47582 | 10000.0 | 22.4 | 16.5 | 18.44 |
| 6 | 45482940 | USDCHF | buy | 2021-09-23 02:06:35 | 0.05 | 0.92619 | 0.92700 | 0 | 2021-09-23 04:36:53 | 0.92700 | 0.00 | 4.37 | 9018 | 10000.0 | 8.1 | 24.6 | 22.81 |
| 7 | 45501371 | GBPUSD | buy | 2021-09-23 18:24:06 | 0.10 | 1.37294 | 0 | 1.37400 | 2021-09-23 18:33:26 | 1.37400 | 0.00 | 10.60 | 560 | 10000.0 | 10.6 | 35.2 | 33.41 |
| 8 | 45502462 | USDCHF | buy | 2021-09-23 19:10:40 | 0.10 | 0.92443 | 0 | 0.92711 | 2021-09-27 09:08:47 | 0.92711 | -0.16 | 28.91 | 309487 | 10000.0 | 26.8 | 62.0 | 62.32 |
| 9 | 45502484 | USDCAD | buy | 2021-09-23 19:11:15 | 0.10 | 1.26559 | 1.26459 | 0 | 2021-09-23 19:38:11 | 1.26457 | 0.00 | -8.07 | 1616 | 10000.0 | -10.2 | 51.8 | 54.25 |
| 10 | 45709962 | EURUSD | buy | 2021-10-05 15:37:10 | 0.10 | 1.16008 | 1.15872 | 0 | 2021-10-05 16:08:48 | 1.15873 | 0.00 | -13.50 | 1898 | 10000.0 | -13.5 | 38.3 | 40.75 |
| 11 | 45711175 | GBPUSD | buy | 2021-10-05 16:24:50 | 0.10 | 1.36032 | 0 | 1.36190 | 2021-10-05 16:53:47 | 1.36192 | 0.00 | 16.00 | 1737 | 10000.0 | 16.0 | 54.3 | 56.75 |
| 12 | 45786525 | USDCAD | buy | 2021-10-08 15:31:13 | 0.10 | 1.25100 | 1.24870 | 0 | 2021-10-08 16:09:23 | 1.24865 | 0.00 | -18.82 | 2290 | 10000.0 | -23.5 | 30.8 | 37.93 |
usuario_b = 'Bruno Pimentel'
meta_path_b = 'C:\Program Files\MetaTrader 5 Terminal\\terminal64.exe'
login_count_b = 5400338
password_count_b = 'LHFFV4Nh'
server_name_b = 'FxPro-MT5'
start_date_b = datetime(2021, 8, 1)
end_date_b = datetime.today()
log_bruno = log_meta(meta_path_b, login_count_b, password_count_b, server_name_b, start_date_b, end_date_b)
log_bruno.historical()
| position_id | symbol | type | opentime | volume_initial | price | sl | tp | closetime | second_price | swap | profit | tiempo | pip_size | pips | pips_acum | profit_acum | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 45386469 | EURUSD | buy | 2021-09-17 15:55:56 | 0.01 | 1.17763 | 0 | 0 | 2021-09-17 15:57:17 | 1.17755 | 0.00 | -0.08 | 81 | 10000.0 | -0.8 | -0.8 | -0.08 |
| 1 | 45386511 | EURUSD | buy | 2021-09-17 15:57:36 | 0.01 | 1.17771 | 1.17711 | 0 | 2021-09-17 16:05:37 | 1.17711 | 0.00 | -0.60 | 481 | 10000.0 | -6.0 | -6.8 | -0.68 |
| 2 | 45429195 | GBPJPY | buy | 2021-09-21 00:13:28 | 0.50 | 149.59500 | 134.31 | 150.000 | 2021-09-23 09:46:57 | 150.00200 | -2.63 | 185.21 | 207209 | 100.0 | 40.7 | 33.9 | 184.53 |
| 3 | 45442638 | AUDCHF | buy | 2021-09-21 16:13:50 | 0.05 | 0.66909 | 0.66636 | 0.67275 | 2021-09-21 18:01:26 | 0.66635 | 0.00 | -335.09 | 6456 | 10000.0 | -27.4 | 6.5 | -150.56 |
| 4 | 45443462 | AMZN.O | buy | 2021-09-21 16:34:46 | 1.00 | 3361.99000 | 3269.55 | 3386.17 | 2021-09-22 22:22:14 | 3386.17000 | -0.27 | 24.18 | 107248 | 100.0 | 2418.0 | 2424.5 | -126.38 |
| 5 | 45452756 | USDCAD | buy | 2021-09-21 21:04:25 | 1.00 | 1.28073 | 1.27182 | 1.28363 | 2021-09-22 21:04:30 | 1.27197 | -3.13 | -688.70 | 86405 | 10000.0 | -87.6 | 2336.9 | -815.08 |
| 6 | 45452972 | MMM.N | buy | 2021-09-21 21:21:14 | 0.50 | 178.46000 | 173 | 182.00 | 2021-09-23 16:39:16 | 182.06000 | -0.02 | 1.80 | 155882 | 100.0 | 360.0 | 2696.9 | -813.28 |
| 7 | 45479303 | AAPL.O | buy | 2021-09-22 21:58:51 | 2.00 | 145.39000 | 140.39 | 147.5 | 2021-10-01 16:55:05 | 140.39000 | -0.18 | -10.00 | 759374 | 100.0 | -500.0 | 2196.9 | -823.28 |
| 8 | 45479654 | FB.O | buy | 2021-09-22 22:05:51 | 2.00 | 342.88000 | 330 | 350.00 | 2021-09-24 18:49:09 | 350.00000 | -0.10 | 14.24 | 160998 | 100.0 | 712.0 | 2908.9 | -809.04 |
| 9 | 45503129 | EURGBP | buy | 2021-09-23 19:47:50 | 5.00 | 0.85425 | 0.84 | 0.85562 | 2021-09-23 23:49:16 | 0.85563 | 0.00 | 946.53 | 14486 | 10000.0 | 13.8 | 2922.7 | 137.49 |
| 10 | 45710008 | GBPUSD | sell | 2021-10-05 15:40:00 | 2.00 | 1.36290 | 1.38 | 1.35700 | 2021-10-06 10:49:43 | 1.35700 | -6.53 | 1180.00 | 68983 | 10000.0 | 59.0 | 2981.7 | 1317.49 |
| 11 | 45710165 | EURGBP | buy | 2021-10-05 15:47:20 | 3.00 | 0.85103 | 0.84 | 0.853 | 2021-10-05 15:47:20 | 0.85103 | 0.00 | 0.00 | 0 | 10000.0 | 0.0 | 2981.7 | 1317.49 |
| 12 | 45710311 | EURJPY | sell | 2021-10-05 15:56:05 | 1.00 | 129.06300 | 129.504 | 128.7 | 2021-10-06 08:10:55 | 129.50400 | -1.51 | -394.63 | 58490 | 100.0 | -44.1 | 2937.6 | 922.86 |
| 13 | 45710474 | GBPJPY | sell | 2021-10-05 16:04:46 | 1.00 | 151.52000 | 152 | 151.420 | 2021-10-06 11:02:17 | 151.42000 | -3.89 | 89.56 | 68251 | 100.0 | 10.0 | 2947.6 | 1012.42 |
| 14 | 45747805 | USDJPY | buy | 2021-10-06 18:32:04 | 0.01 | 111.35800 | 110.6 | 111.510 | 2021-10-07 12:25:25 | 111.51100 | -7.46 | 564.55 | 64401 | 100.0 | 15.3 | 2962.9 | 1576.97 |
| 15 | 45747887 | AUDCHF | buy | 2021-10-06 18:34:29 | 4.00 | 0.67291 | 0.65 | 0.67391 | 2021-10-06 20:39:48 | 0.67391 | 0.00 | 430.93 | 7519 | 10000.0 | 10.0 | 2972.9 | 2007.90 |
| 16 | 45747976 | AAL.O | buy | 2021-10-06 18:39:16 | 2.00 | 20.44000 | 19.01 | 20.91 | 2021-10-06 18:39:16 | 20.44000 | 0.00 | 0.00 | 0 | 100.0 | 0.0 | 2972.9 | 2007.90 |
| 17 | 45748041 | TM.N | buy | 2021-10-06 18:42:13 | 5.00 | 166.14000 | 161 | 168.00 | 2021-10-07 16:31:05 | 168.12000 | -0.07 | 9.90 | 78532 | 100.0 | 198.0 | 3170.9 | 2017.80 |
| 18 | 45748113 | IR.N | buy | 2021-10-06 18:44:13 | 3.00 | 50.34000 | 49.3 | 51.05 | 2021-10-06 20:34:02 | 51.05000 | 0.00 | 2.13 | 6589 | 100.0 | 71.0 | 3241.9 | 2019.93 |
| 19 | 45748170 | PFE.N | buy | 2021-10-06 18:45:59 | 4.00 | 41.81000 | 41 | 42.05 | 2021-10-07 16:31:05 | 42.37000 | -0.01 | 2.24 | 78306 | 100.0 | 56.0 | 3297.9 | 2022.17 |
En caso de que no se tuviera acceso a la aplicación de Metatrader se puede utilizar el excel.
usuario1 = 'Chelsi Sedano'
dat_chelsi = load_excel(usuario1)
dat_chelsi= dat_chelsi.historical()
dat_chelsi
| position_id | symbol | type | opentime | volume_initial | price | sl | tp | closetime | second_price | swap | profit | tiempo | pip_size | pips | pips_acum | profit_acum | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 45386433 | EURUSD | buy | 2021-09-17 15:54:13 | 0.01 | 1.17765 | 1.1716 | 0.00 | 2021-09-21 18:29:24 | 1.17159 | -0.20 | -6.06 | 354911 | 10000 | -60.6 | -60.6 | -6.06 |
| 1 | 45428523 | USDCAD | buy | 2021-09-20 23:42:23 | 0.04 | 1.28145 | 1.2700 | 1.29 | 2021-09-21 23:14:17 | 1.28199 | -0.13 | 1.68 | 84714 | 10000 | 5.4 | -55.2 | -4.38 |
| 2 | 45428536 | #JP225_Z21 | buy | 2021-09-20 23:46:16 | 0.06 | 29575.00000 | 0.0000 | 0.00 | 2021-09-21 10:42:20 | 30000.00000 | 0.00 | 127.50 | 39364 | 100 | 42500.0 | 42444.8 | 123.12 |
| 3 | 45452652 | NDAQ.O | buy | 2021-09-21 20:58:06 | 0.04 | 191.69000 | 190.8800 | 195.00 | 2021-09-23 16:31:05 | 195.17000 | 0.00 | 0.14 | 156779 | 100 | 348.0 | 42792.8 | 123.26 |
| 4 | 45452873 | #USSPX500 | buy | 2021-09-21 21:14:27 | 0.04 | 4364.10000 | 4362.0000 | 4381.00 | 2021-09-21 21:17:04 | 4361.95000 | 0.00 | -0.29 | 157 | 100 | -215.0 | 42577.8 | 122.97 |
| 5 | 45452934 | #USSPX500 | buy | 2021-09-21 21:18:51 | 0.08 | 4363.75000 | 4358.0000 | 4381.00 | 2021-09-21 21:23:52 | 4358.05000 | 0.00 | -0.46 | 301 | 100 | -570.0 | 42007.8 | 122.51 |
| 6 | 45453061 | #UK100 | buy | 2021-09-21 21:25:38 | 0.08 | 6972.30000 | 0.0000 | 0.00 | 2021-09-22 06:01:55 | 6990.15000 | -0.27 | 9.97 | 30977 | 100 | 1785.0 | 43792.8 | 132.48 |
| 7 | 45453141 | AAPL.O | buy | 2021-09-21 21:30:09 | 0.10 | 143.25000 | 0.0000 | 0.00 | 2021-09-23 21:37:18 | 146.75000 | 0.00 | 0.35 | 173229 | 100 | 350.0 | 44142.8 | 132.83 |
| 8 | 45473438 | ADBE.O | buy | 2021-09-22 19:11:17 | 0.25 | 626.25000 | 615.0000 | 651.00 | 2021-09-23 21:22:32 | 631.96000 | -0.03 | 3.17 | 94275 | 100 | 571.0 | 44713.8 | 136.00 |
| 9 | 45476819 | CME.O | buy | 2021-09-22 21:15:11 | 0.45 | 187.74000 | 180.0000 | 193.00 | 2021-09-23 20:18:48 | 193.00000 | -0.01 | 2.37 | 83017 | 100 | 526.0 | 45239.8 | 138.37 |
| 10 | 45479486 | NFLX.O | sell | 2021-09-22 22:01:12 | 0.45 | 589.31000 | 596.0000 | 577.00 | 2021-09-23 16:43:24 | 596.34000 | -0.02 | -3.16 | 67332 | 100 | -703.0 | 44536.8 | 135.21 |
| 11 | 45503825 | AMZN.O | buy | 2021-09-23 20:41:20 | 0.06 | 3423.43000 | 3390.0000 | 3457.00 | 2021-09-27 16:31:06 | 3377.82000 | -0.72 | -30.23 | 330586 | 100 | -4561.0 | 39975.8 | 104.98 |
| 12 | 45504575 | UBER.N | sell | 2021-09-23 21:53:42 | 1.00 | 45.44000 | 46.6100 | 43.76 | 2021-09-24 16:42:15 | 46.61000 | -0.01 | -3.51 | 67713 | 100 | -117.0 | 39858.8 | 101.47 |
| 13 | 45504667 | SILVER | buy | 2021-09-23 22:05:35 | 4.00 | 22.64000 | 22.4800 | 22.70 | 2021-09-23 23:24:19 | 22.48500 | 0.00 | -775.00 | 4724 | 100 | -15.5 | 39843.3 | -673.53 |
| 14 | 45504874 | BTCUSD | buy | 2021-09-23 22:30:12 | 0.06 | 44704.57000 | 0.0000 | 44610.00 | 2021-09-23 22:33:07 | 44610.25000 | 0.00 | -5.66 | 175 | 100 | -9432.0 | 30411.3 | -679.19 |
| 15 | 45504934 | BTCUSD | buy | 2021-09-23 22:36:58 | 0.06 | 44840.61000 | 41216.0000 | 45300.00 | 2021-09-24 02:05:02 | 44600.70000 | -1.49 | -14.39 | 12484 | 100 | -23991.0 | 6420.3 | -693.58 |
| 16 | 45504963 | EURUSD | buy | 2021-09-23 22:39:55 | 0.05 | 1.17463 | 0.0000 | 0.00 | 2021-09-24 02:05:13 | 1.17411 | -0.26 | -2.60 | 12318 | 10000 | -5.2 | 6415.1 | -696.18 |
| 17 | 45751162 | BTCUSD | sell | 2021-10-06 21:02:22 | 0.50 | 54584.79000 | 55750.0000 | 0.00 | 2021-10-07 02:12:16 | 55770.26000 | -15.28 | -592.74 | 18594 | 100 | -118547.0 | -112131.9 | -1288.92 |
| 18 | 45751358 | NDAQ.O | buy | 2021-10-06 21:11:41 | 0.50 | 195.16000 | 0.0000 | 197.00 | 2021-10-07 16:34:13 | 197.01000 | -0.18 | 20.51 | 69752 | 100 | 185.0 | -111946.9 | -1268.41 |
usuario2 = 'Daniel Garcia'
dat_daniel = load_excel(usuario2)
dat_daniel= dat_daniel.historical()
dat_daniel
| position_id | symbol | type | opentime | volume_initial | price | sl | tp | closetime | second_price | swap | profit | tiempo | pip_size | pips | pips_acum | profit_acum | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 45426323 | USDCHF | buy | 2021-09-20 21:29:45 | 0.01 | 0.92805 | 0.92745 | 0.00000 | 2021-09-21 04:12:02 | 0.92745 | 0.00 | -0.65 | 24137 | 10000 | -6.0 | -6.0 | -0.65 |
| 1 | 45427257 | EURUSD | buy | 2021-09-20 22:38:16 | 0.05 | 1.17282 | 1.17262 | 1.17290 | 2021-09-20 23:10:27 | 1.17262 | 0.00 | -1.00 | 1931 | 10000 | -2.0 | -8.0 | -1.65 |
| 2 | 45442520 | GBPUSD | buy | 2021-09-21 16:08:58 | 0.05 | 1.36665 | 1.36632 | 1.36673 | 2021-09-21 16:09:13 | 1.36630 | 0.00 | -1.75 | 15 | 10000 | -3.5 | -11.5 | -3.40 |
| 3 | 45442553 | GBPUSD | buy | 2021-09-21 16:09:36 | 0.01 | 1.36616 | 1.36566 | 0.00000 | 2021-09-21 16:30:11 | 1.36560 | 0.00 | -0.56 | 1235 | 10000 | -5.6 | -17.1 | -3.96 |
| 4 | 45451863 | EURUSD | buy | 2021-09-21 20:21:12 | 0.10 | 1.17260 | 0.00000 | 1.17370 | 2021-09-22 17:10:53 | 1.17372 | -0.52 | 11.20 | 74981 | 10000 | 11.2 | -5.9 | 7.24 |
| 5 | 45478439 | GBPUSD | buy | 2021-09-22 21:46:33 | 0.05 | 1.36346 | 0.00000 | 1.36570 | 2021-09-23 10:59:35 | 1.36570 | -0.18 | 11.20 | 47582 | 10000 | 22.4 | 16.5 | 18.44 |
| 6 | 45482940 | USDCHF | buy | 2021-09-23 02:06:35 | 0.05 | 0.92619 | 0.92700 | 0.00000 | 2021-09-23 04:36:53 | 0.92700 | 0.00 | 4.37 | 9018 | 10000 | 8.1 | 24.6 | 22.81 |
| 7 | 45501371 | GBPUSD | buy | 2021-09-23 18:24:06 | 0.10 | 1.37294 | 0.00000 | 1.37400 | 2021-09-23 18:33:26 | 1.37400 | 0.00 | 10.60 | 560 | 10000 | 10.6 | 35.2 | 33.41 |
| 8 | 45502462 | USDCHF | buy | 2021-09-23 19:10:40 | 0.10 | 0.92443 | 0.00000 | 0.92711 | 2021-09-27 09:08:47 | 0.92711 | -0.16 | 28.91 | 309487 | 10000 | 26.8 | 62.0 | 62.32 |
| 9 | 45502484 | USDCAD | buy | 2021-09-23 19:11:15 | 0.10 | 1.26559 | 1.26459 | 0.00000 | 2021-09-23 19:38:11 | 1.26457 | 0.00 | -8.07 | 1616 | 10000 | -10.2 | 51.8 | 54.25 |
| 10 | 45709962 | EURUSD | buy | 2021-10-05 15:37:10 | 0.10 | 1.16008 | 1.15872 | 0.00000 | 2021-10-05 16:08:48 | 1.15873 | 0.00 | -13.50 | 1898 | 10000 | -13.5 | 38.3 | 40.75 |
| 11 | 45711175 | GBPUSD | buy | 2021-10-05 16:24:50 | 0.10 | 1.36032 | 0.00000 | 1.36190 | 2021-10-05 16:53:47 | 1.36192 | 0.00 | 16.00 | 1737 | 10000 | 16.0 | 54.3 | 56.75 |
| 12 | 45786525 | USDCAD | buy | 2021-10-08 15:31:13 | 0.10 | 1.25100 | 1.24870 | 0.00000 | 2021-10-08 16:09:23 | 1.24865 | 0.00 | -18.82 | 2290 | 10000 | -23.5 | 30.8 | 37.93 |
usuario3 = 'Bruno Pimentel'
dat_bruno = load_excel(usuario3)
dat_bruno = dat_bruno.historical()
dat_bruno
| position_id | symbol | type | opentime | volume_initial | price | sl | tp | closetime | second_price | swap | profit | tiempo | pip_size | pips | pips_acum | profit_acum | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 45386469 | EURUSD | buy | 2021-09-17 15:55:56 | 0.01 | 1.17763 | 0.00000 | 0.00000 | 2021-09-17 15:57:17 | 1.17755 | 0.00 | -0.08 | 81 | 10000 | -0.8 | -0.8 | -0.08 |
| 1 | 45386511 | EURUSD | buy | 2021-09-17 15:57:36 | 0.01 | 1.17771 | 1.17711 | 0.00000 | 2021-09-17 16:05:37 | 1.17711 | 0.00 | -0.60 | 481 | 10000 | -6.0 | -6.8 | -0.68 |
| 2 | 45429195 | GBPJPY | buy | 2021-09-21 00:13:28 | 0.50 | 149.59500 | 134.31000 | 150.00000 | 2021-09-23 09:46:57 | 150.00200 | -2.63 | 185.21 | 207209 | 100 | 40.7 | 33.9 | 184.53 |
| 3 | 45442638 | AUDCHF | buy | 2021-09-21 16:13:50 | 0.05 | 0.66909 | 0.66636 | 0.67275 | 2021-09-21 18:01:26 | 0.66635 | 0.00 | -335.09 | 6456 | 10000 | -27.4 | 6.5 | -150.56 |
| 4 | 45443462 | AMZN.O | buy | 2021-09-21 16:34:46 | 1.00 | 3361.99000 | 3269.55000 | 3386.17000 | 2021-09-22 22:22:14 | 3386.17000 | -0.27 | 24.18 | 107248 | 100 | 2418.0 | 2424.5 | -126.38 |
| 5 | 45452756 | USDCAD | buy | 2021-09-21 21:04:25 | 1.00 | 1.28073 | 1.27182 | 1.28363 | 2021-09-22 21:04:30 | 1.27197 | -3.13 | -688.70 | 86405 | 10000 | -87.6 | 2336.9 | -815.08 |
| 6 | 45452972 | MMM.N | buy | 2021-09-21 21:21:14 | 0.50 | 178.46000 | 173.00000 | 182.00000 | 2021-09-23 16:39:16 | 182.06000 | -0.02 | 1.80 | 155882 | 100 | 360.0 | 2696.9 | -813.28 |
| 7 | 45479303 | AAPL.O | buy | 2021-09-22 21:58:51 | 2.00 | 145.39000 | 140.39000 | 147.50000 | 2021-10-01 16:55:05 | 140.39000 | -0.18 | -10.00 | 759374 | 100 | -500.0 | 2196.9 | -823.28 |
| 8 | 45479654 | FB.O | buy | 2021-09-22 22:05:51 | 2.00 | 342.88000 | 330.00000 | 350.00000 | 2021-09-24 18:49:09 | 350.00000 | -0.10 | 14.24 | 160998 | 100 | 712.0 | 2908.9 | -809.04 |
| 9 | 45503129 | EURGBP | buy | 2021-09-23 19:47:50 | 5.00 | 0.85425 | 0.84000 | 0.85562 | 2021-09-23 23:49:16 | 0.85563 | 0.00 | 946.53 | 14486 | 10000 | 13.8 | 2922.7 | 137.49 |
| 10 | 45710008 | GBPUSD | sell | 2021-10-05 15:40:00 | 2.00 | 1.36290 | 1.38000 | 1.35700 | 2021-10-06 10:49:43 | 1.35700 | -6.53 | 1180.00 | 68983 | 10000 | 59.0 | 2981.7 | 1317.49 |
| 11 | 45710165 | EURGBP | buy | 2021-10-05 15:47:20 | 3.00 | 0.85103 | 0.84000 | 0.85300 | 2021-10-05 15:47:20 | 0.85103 | 0.00 | 0.00 | 0 | 10000 | 0.0 | 2981.7 | 1317.49 |
| 12 | 45710311 | EURJPY | sell | 2021-10-05 15:56:05 | 1.00 | 129.06300 | 129.50400 | 128.70000 | 2021-10-06 08:10:55 | 129.50400 | -1.51 | -394.63 | 58490 | 100 | -44.1 | 2937.6 | 922.86 |
| 13 | 45710474 | GBPJPY | sell | 2021-10-05 16:04:46 | 1.00 | 151.52000 | 152.00000 | 151.42000 | 2021-10-06 11:02:17 | 151.42000 | -3.89 | 89.56 | 68251 | 100 | 10.0 | 2947.6 | 1012.42 |
| 14 | 45747805 | USDJPY | buy | 2021-10-06 18:32:04 | 0.01 | 111.35800 | 110.60000 | 111.51000 | 2021-10-07 12:25:25 | 111.51100 | -7.46 | 564.55 | 64401 | 100 | 15.3 | 2962.9 | 1576.97 |
| 15 | 45747887 | AUDCHF | buy | 2021-10-06 18:34:29 | 4.00 | 0.67291 | 0.65000 | 0.67391 | 2021-10-06 20:39:48 | 0.67391 | 0.00 | 430.93 | 7519 | 10000 | 10.0 | 2972.9 | 2007.90 |
| 16 | 45747976 | AAL.O | buy | 2021-10-06 18:39:16 | 2.00 | 20.44000 | 19.01000 | 20.91000 | 2021-10-06 18:39:16 | 20.44000 | 0.00 | 0.00 | 0 | 100 | 0.0 | 2972.9 | 2007.90 |
| 17 | 45748041 | TM.N | buy | 2021-10-06 18:42:13 | 5.00 | 166.14000 | 161.00000 | 168.00000 | 2021-10-07 16:31:05 | 168.12000 | -0.07 | 9.90 | 78532 | 100 | 198.0 | 3170.9 | 2017.80 |
| 18 | 45748113 | IR.N | buy | 2021-10-06 18:44:13 | 3.00 | 50.34000 | 49.30000 | 51.05000 | 2021-10-06 20:34:02 | 51.05000 | 0.00 | 2.13 | 6589 | 100 | 71.0 | 3241.9 | 2019.93 |
| 19 | 45748170 | PFE.N | buy | 2021-10-06 18:45:59 | 4.00 | 41.81000 | 41.00000 | 42.05000 | 2021-10-07 16:31:05 | 42.37000 | -0.01 | 2.24 | 78306 | 100 | 56.0 | 3297.9 | 2022.17 |
En este apartado se obtienen dos tablas contenidas en un diccionario, en la primera podemos observar las medidas para todo nuestro histórico de operaciones, en las cuales se pueden observar el número total de operaciones, las ganadoras, las perdedoras, las medianas y la efectividad, esto con el fin de poder visualizar de manera más sencilla el desarrollo en el tiempo de nuestras operaciones y su desempeño. La segunda muestra un ranking de efectividad dependiendo del instrumento trabajado, uniendo todas las operaciones correspondientes para cada uno de ellos, ordenados por aquellos que tuvieron una mayor efectividad en todas las operaciones.
est_chelsi = est_desc(usuario1)
tablas_est_chelsi=(est_chelsi.get_estadisticaba())
tablas_est_chelsi
{'df_1_tabla': Medida Descripción Valor
0 Ops totales Operaciones totales 19.00
1 Ganadoras Operaciones ganadoras 8.00
2 Ganadoras_c Operaciones ganadoras de compra 8.00
3 Ganadoras_v Operaciones ganadoras de venta 0.00
4 Perdedoras Operaciones perdedoras 11.00
5 Perdedoras_c Operaciones perdedoras de compra 8.00
6 Perdedoras_v Operaciones perdedoras de venta 3.00
7 Mediana (Profit) Mediana de profit de operaciones -0.46
8 Mediana (Pips) Mediana de pips de operaciones -15.50
9 r_efectividad Ganadoras Totales/Operaciones Totales 0.42
10 r_proporcion Ganadoras Totales/Perdedoras Totales 0.73
11 r_efectividad_c Ganadoras Compras/Operaciones Totales 0.42
12 r_efectividad_v Ganadoras Ventas/ Operaciones Totales 0.00,
'df_2_ranking': symbol rank
0 #JP225_Z21 100.0%
1 #UK100 100.0%
2 AAPL.O 100.0%
3 ADBE.O 100.0%
4 CME.O 100.0%
5 NDAQ.O 100.0%
6 USDCAD 100.0%
7 #USSPX500 0.0%
8 AMZN.O 0.0%
9 BTCUSD 0.0%
10 EURUSD 0.0%
11 NFLX.O 0.0%
12 SILVER 0.0%
13 UBER.N 0.0%}
df_1_tabla_chelsi= tablas_est_chelsi['df_1_tabla']
df_1_tabla_chelsi
| Medida | Descripción | Valor | |
|---|---|---|---|
| 0 | Ops totales | Operaciones totales | 19.00 |
| 1 | Ganadoras | Operaciones ganadoras | 8.00 |
| 2 | Ganadoras_c | Operaciones ganadoras de compra | 8.00 |
| 3 | Ganadoras_v | Operaciones ganadoras de venta | 0.00 |
| 4 | Perdedoras | Operaciones perdedoras | 11.00 |
| 5 | Perdedoras_c | Operaciones perdedoras de compra | 8.00 |
| 6 | Perdedoras_v | Operaciones perdedoras de venta | 3.00 |
| 7 | Mediana (Profit) | Mediana de profit de operaciones | -0.46 |
| 8 | Mediana (Pips) | Mediana de pips de operaciones | -15.50 |
| 9 | r_efectividad | Ganadoras Totales/Operaciones Totales | 0.42 |
| 10 | r_proporcion | Ganadoras Totales/Perdedoras Totales | 0.73 |
| 11 | r_efectividad_c | Ganadoras Compras/Operaciones Totales | 0.42 |
| 12 | r_efectividad_v | Ganadoras Ventas/ Operaciones Totales | 0.00 |
df_2_ranking_chelsi= tablas_est_chelsi['df_2_ranking']
df_2_ranking_chelsi
| symbol | rank | |
|---|---|---|
| 0 | #JP225_Z21 | 100.0% |
| 1 | #UK100 | 100.0% |
| 2 | AAPL.O | 100.0% |
| 3 | ADBE.O | 100.0% |
| 4 | CME.O | 100.0% |
| 5 | NDAQ.O | 100.0% |
| 6 | USDCAD | 100.0% |
| 7 | #USSPX500 | 0.0% |
| 8 | AMZN.O | 0.0% |
| 9 | BTCUSD | 0.0% |
| 10 | EURUSD | 0.0% |
| 11 | NFLX.O | 0.0% |
| 12 | SILVER | 0.0% |
| 13 | UBER.N | 0.0% |
est_daniel = est_desc(usuario2)
tablas_est_daniel=(est_daniel.get_estadisticaba())
tablas_est_daniel
{'df_1_tabla': Medida Descripción Valor
0 Ops totales Operaciones totales 13.00
1 Ganadoras Operaciones ganadoras 6.00
2 Ganadoras_c Operaciones ganadoras de compra 6.00
3 Ganadoras_v Operaciones ganadoras de venta 0.00
4 Perdedoras Operaciones perdedoras 7.00
5 Perdedoras_c Operaciones perdedoras de compra 7.00
6 Perdedoras_v Operaciones perdedoras de venta 0.00
7 Mediana (Profit) Mediana de profit de operaciones -0.56
8 Mediana (Pips) Mediana de pips de operaciones -2.00
9 r_efectividad Ganadoras Totales/Operaciones Totales 0.46
10 r_proporcion Ganadoras Totales/Perdedoras Totales 0.86
11 r_efectividad_c Ganadoras Compras/Operaciones Totales 0.46
12 r_efectividad_v Ganadoras Ventas/ Operaciones Totales 0.00,
'df_2_ranking': symbol rank
0 USDCHF 66.7%
1 GBPUSD 60.0%
2 EURUSD 33.3%
3 USDCAD 0.0%}
df_1_tabla_daniel= tablas_est_daniel['df_1_tabla']
df_1_tabla_daniel
| Medida | Descripción | Valor | |
|---|---|---|---|
| 0 | Ops totales | Operaciones totales | 13.00 |
| 1 | Ganadoras | Operaciones ganadoras | 6.00 |
| 2 | Ganadoras_c | Operaciones ganadoras de compra | 6.00 |
| 3 | Ganadoras_v | Operaciones ganadoras de venta | 0.00 |
| 4 | Perdedoras | Operaciones perdedoras | 7.00 |
| 5 | Perdedoras_c | Operaciones perdedoras de compra | 7.00 |
| 6 | Perdedoras_v | Operaciones perdedoras de venta | 0.00 |
| 7 | Mediana (Profit) | Mediana de profit de operaciones | -0.56 |
| 8 | Mediana (Pips) | Mediana de pips de operaciones | -2.00 |
| 9 | r_efectividad | Ganadoras Totales/Operaciones Totales | 0.46 |
| 10 | r_proporcion | Ganadoras Totales/Perdedoras Totales | 0.86 |
| 11 | r_efectividad_c | Ganadoras Compras/Operaciones Totales | 0.46 |
| 12 | r_efectividad_v | Ganadoras Ventas/ Operaciones Totales | 0.00 |
df_2_ranking_daniel= tablas_est_daniel['df_2_ranking']
df_2_ranking_daniel
| symbol | rank | |
|---|---|---|
| 0 | USDCHF | 66.7% |
| 1 | GBPUSD | 60.0% |
| 2 | EURUSD | 33.3% |
| 3 | USDCAD | 0.0% |
est_bruno = est_desc(usuario3)
tablas_est_bruno=(est_bruno.get_estadisticaba())
tablas_est_bruno
{'df_1_tabla': Medida Descripción Valor
0 Ops totales Operaciones totales 20.00
1 Ganadoras Operaciones ganadoras 14.00
2 Ganadoras_c Operaciones ganadoras de compra 12.00
3 Ganadoras_v Operaciones ganadoras de venta 2.00
4 Perdedoras Operaciones perdedoras 6.00
5 Perdedoras_c Operaciones perdedoras de compra 5.00
6 Perdedoras_v Operaciones perdedoras de venta 1.00
7 Mediana (Profit) Mediana de profit de operaciones 2.18
8 Mediana (Pips) Mediana de pips de operaciones 11.90
9 r_efectividad Ganadoras Totales/Operaciones Totales 0.70
10 r_proporcion Ganadoras Totales/Perdedoras Totales 2.33
11 r_efectividad_c Ganadoras Compras/Operaciones Totales 0.60
12 r_efectividad_v Ganadoras Ventas/ Operaciones Totales 0.10,
'df_2_ranking': symbol rank
0 AMZN.O 100.0%
1 FB.O 100.0%
2 GBPJPY 100.0%
3 GBPUSD 100.0%
4 IR.N 100.0%
5 MMM.N 100.0%
6 PFE.N 100.0%
7 TM.N 100.0%
8 USDJPY 100.0%
9 AUDCHF 50.0%
10 EURGBP 50.0%
11 AAL.O 0.0%
12 AAPL.O 0.0%
13 EURJPY 0.0%
14 EURUSD 0.0%
15 USDCAD 0.0%}
df_1_tabla_bruno= tablas_est_bruno['df_1_tabla']
df_1_tabla_bruno
| Medida | Descripción | Valor | |
|---|---|---|---|
| 0 | Ops totales | Operaciones totales | 20.00 |
| 1 | Ganadoras | Operaciones ganadoras | 14.00 |
| 2 | Ganadoras_c | Operaciones ganadoras de compra | 12.00 |
| 3 | Ganadoras_v | Operaciones ganadoras de venta | 2.00 |
| 4 | Perdedoras | Operaciones perdedoras | 6.00 |
| 5 | Perdedoras_c | Operaciones perdedoras de compra | 5.00 |
| 6 | Perdedoras_v | Operaciones perdedoras de venta | 1.00 |
| 7 | Mediana (Profit) | Mediana de profit de operaciones | 2.18 |
| 8 | Mediana (Pips) | Mediana de pips de operaciones | 11.90 |
| 9 | r_efectividad | Ganadoras Totales/Operaciones Totales | 0.70 |
| 10 | r_proporcion | Ganadoras Totales/Perdedoras Totales | 2.33 |
| 11 | r_efectividad_c | Ganadoras Compras/Operaciones Totales | 0.60 |
| 12 | r_efectividad_v | Ganadoras Ventas/ Operaciones Totales | 0.10 |
df_2_ranking_bruno= tablas_est_bruno['df_2_ranking']
df_2_ranking_bruno
| symbol | rank | |
|---|---|---|
| 0 | AMZN.O | 100.0% |
| 1 | FB.O | 100.0% |
| 2 | GBPJPY | 100.0% |
| 3 | GBPUSD | 100.0% |
| 4 | IR.N | 100.0% |
| 5 | MMM.N | 100.0% |
| 6 | PFE.N | 100.0% |
| 7 | TM.N | 100.0% |
| 8 | USDJPY | 100.0% |
| 9 | AUDCHF | 50.0% |
| 10 | EURGBP | 50.0% |
| 11 | AAL.O | 0.0% |
| 12 | AAPL.O | 0.0% |
| 13 | EURJPY | 0.0% |
| 14 | EURUSD | 0.0% |
| 15 | USDCAD | 0.0% |
En esta sección se muestra una tabla que contiene las fechas dia a dia durante el periodo en el cual se hizo trading, el profit por cada dia y el profit acumulado diario de la cuenta de capital con el fin de poder tener una visualización sencilla que nos permita saber el desempeño de nuestros datos en el tiempo y como fueron variando nuestros resultados.
La siguiente tabla muestra diferentes medidas utilizadas para el análisis de nuestros datos, podemos encontrar el sharpe ratio el cual es una medida que nos permite saber el rendimiento promedio excedente sobre la tasa libre de riesgo por unidad de riesgo incurrido, es decir nos permite saber cuanto más esperamos ganar por cada unidad de riesgo que tomamos por arriba de la tasa libre de riesgo en términos sencillos es que un sharpe ratio alto ocurre cuando se logró obtener un rendimiento mayor del riesgo al que se expuso. Otra medida que podemos observar es Drawdown / Drawup que es la minusvalía/plusvalía máxima que se presentó en la evolución del capital y la fecha en que ocurrió
metric_chelsi = metricas_ad(usuario1)
metric_chelsi.f_evolucion_capital()
| time | profit_d | profit_acm_d | |
|---|---|---|---|
| 0 | 2021-09-17 | -6.06 | 99993.94 |
| 1 | 2021-09-18 | 0.00 | 99993.94 |
| 2 | 2021-09-19 | 0.00 | 99993.94 |
| 3 | 2021-09-20 | 129.18 | 100123.12 |
| 4 | 2021-09-21 | 9.71 | 100132.83 |
| 5 | 2021-09-22 | 2.38 | 100135.21 |
| 6 | 2021-09-23 | -831.39 | 99303.82 |
| 7 | 2021-09-24 | 0.00 | 99303.82 |
| 8 | 2021-09-25 | 0.00 | 99303.82 |
| 9 | 2021-09-26 | 0.00 | 99303.82 |
| 10 | 2021-09-27 | 0.00 | 99303.82 |
| 11 | 2021-09-28 | 0.00 | 99303.82 |
| 12 | 2021-09-29 | 0.00 | 99303.82 |
| 13 | 2021-09-30 | 0.00 | 99303.82 |
| 14 | 2021-10-01 | 0.00 | 99303.82 |
| 15 | 2021-10-02 | 0.00 | 99303.82 |
| 16 | 2021-10-03 | 0.00 | 99303.82 |
| 17 | 2021-10-04 | 0.00 | 99303.82 |
| 18 | 2021-10-05 | 0.00 | 99303.82 |
| 19 | 2021-10-06 | -572.23 | 98731.59 |
metric_chelsi.f_estadisticas_mad()
| metrica | Valor | descripcion | ||
|---|---|---|---|---|
| 0 | sharpe_original | Cantidad | -22.5308 | Sharpe Ratio Fórmula Original |
| 1 | sharpe_actualizado | Cantidad | 1 | Sharpe Ratio Fórmula Ajustada |
| 2 | drawdown_capi | Fecha Inicial | 2021-09-22 00:00:00 | Fecha inicial del DrawDown de Capital |
| 3 | drawdown_capi | Fecha Final | 2021-10-06 00:00:00 | Fecha final del DrawDown de Capital |
| 4 | drawdown_capi | DrawDown $ (capital) | 98731.6 | Máxima pérdida flotante registrada |
| 5 | drawup_capi | Fecha Inicial | 2021-09-17 00:00:00 | Fecha inicial del DrawUp de Capital |
| 6 | drawup_capi | Fecha Final | 2021-09-22 00:00:00 | Fecha final del DrawUp de Capital |
| 7 | drawup_capi | DrawDown $ (capital) | 100135 | Máxima ganancia flotante registrada |
metric_daniel = metricas_ad(usuario2)
metric_daniel.f_evolucion_capital()
| time | profit_d | profit_acm_d | |
|---|---|---|---|
| 0 | 2021-09-17 | 0.00 | 100000.00 |
| 1 | 2021-09-18 | 0.00 | 100000.00 |
| 2 | 2021-09-19 | 0.00 | 100000.00 |
| 3 | 2021-09-20 | -1.65 | 99998.35 |
| 4 | 2021-09-21 | 8.89 | 100007.24 |
| 5 | 2021-09-22 | 11.20 | 100018.44 |
| 6 | 2021-09-23 | 35.81 | 100054.25 |
| 7 | 2021-09-24 | 0.00 | 100054.25 |
| 8 | 2021-09-25 | 0.00 | 100054.25 |
| 9 | 2021-09-26 | 0.00 | 100054.25 |
| 10 | 2021-09-27 | 0.00 | 100054.25 |
| 11 | 2021-09-28 | 0.00 | 100054.25 |
| 12 | 2021-09-29 | 0.00 | 100054.25 |
| 13 | 2021-09-30 | 0.00 | 100054.25 |
| 14 | 2021-10-01 | 0.00 | 100054.25 |
| 15 | 2021-10-02 | 0.00 | 100054.25 |
| 16 | 2021-10-03 | 0.00 | 100054.25 |
| 17 | 2021-10-04 | 0.00 | 100054.25 |
| 18 | 2021-10-05 | 2.50 | 100056.75 |
| 19 | 2021-10-06 | 0.00 | 100056.75 |
metric_daniel.f_estadisticas_mad()
| metrica | Valor | descripcion | ||
|---|---|---|---|---|
| 0 | sharpe_original | Cantidad | -598.289 | Sharpe Ratio Fórmula Original |
| 1 | sharpe_actualizado | Cantidad | 1 | Sharpe Ratio Fórmula Ajustada |
| 2 | drawdown_capi | Fecha Inicial | 2021-09-17 00:00:00 | Fecha inicial del DrawDown de Capital |
| 3 | drawdown_capi | Fecha Final | 2021-09-20 00:00:00 | Fecha final del DrawDown de Capital |
| 4 | drawdown_capi | DrawDown $ (capital) | 99998.4 | Máxima pérdida flotante registrada |
| 5 | drawup_capi | Fecha Inicial | 2021-09-20 00:00:00 | Fecha inicial del DrawUp de Capital |
| 6 | drawup_capi | Fecha Final | 2021-10-05 00:00:00 | Fecha final del DrawUp de Capital |
| 7 | drawup_capi | DrawDown $ (capital) | 100057 | Máxima ganancia flotante registrada |
metric_bruno = metricas_ad(usuario3)
metric_bruno.f_evolucion_capital()
| time | profit_d | profit_acm_d | |
|---|---|---|---|
| 0 | 2021-09-17 | -0.68 | 99999.32 |
| 1 | 2021-09-18 | 0.00 | 99999.32 |
| 2 | 2021-09-19 | 0.00 | 99999.32 |
| 3 | 2021-09-20 | 0.00 | 99999.32 |
| 4 | 2021-09-21 | -812.60 | 99186.72 |
| 5 | 2021-09-22 | 4.24 | 99190.96 |
| 6 | 2021-09-23 | 946.53 | 100137.49 |
| 7 | 2021-09-24 | 0.00 | 100137.49 |
| 8 | 2021-09-25 | 0.00 | 100137.49 |
| 9 | 2021-09-26 | 0.00 | 100137.49 |
| 10 | 2021-09-27 | 0.00 | 100137.49 |
| 11 | 2021-09-28 | 0.00 | 100137.49 |
| 12 | 2021-09-29 | 0.00 | 100137.49 |
| 13 | 2021-09-30 | 0.00 | 100137.49 |
| 14 | 2021-10-01 | 0.00 | 100137.49 |
| 15 | 2021-10-02 | 0.00 | 100137.49 |
| 16 | 2021-10-03 | 0.00 | 100137.49 |
| 17 | 2021-10-04 | 0.00 | 100137.49 |
| 18 | 2021-10-05 | 874.93 | 101012.42 |
| 19 | 2021-10-06 | 1009.75 | 102022.17 |
metric_bruno.f_estadisticas_mad()
| metrica | Valor | descripcion | ||
|---|---|---|---|---|
| 0 | sharpe_original | Cantidad | -12.112 | Sharpe Ratio Fórmula Original |
| 1 | sharpe_actualizado | Cantidad | 1 | Sharpe Ratio Fórmula Ajustada |
| 2 | drawdown_capi | Fecha Inicial | 2021-09-17 00:00:00 | Fecha inicial del DrawDown de Capital |
| 3 | drawdown_capi | Fecha Final | 2021-09-21 00:00:00 | Fecha final del DrawDown de Capital |
| 4 | drawdown_capi | DrawDown $ (capital) | 99186.7 | Máxima pérdida flotante registrada |
| 5 | drawup_capi | Fecha Inicial | 2021-09-21 00:00:00 | Fecha inicial del DrawUp de Capital |
| 6 | drawup_capi | Fecha Final | 2021-10-06 00:00:00 | Fecha final del DrawUp de Capital |
| 7 | drawup_capi | DrawDown $ (capital) | 102022 | Máxima ganancia flotante registrada |
En este apartado se muestra el sesgo cognitivo propuesto por los autores Kahneman y Tversky, para el caso de trading, aplica como el efecto que se puede observar en el histórico de un trader sobre el hecho que tiende a cortar las ganancias rápido y mantener las pérdidas mucho tiempo, es decir, a materializar las ganancias mas frecuentemente que las pérdidas.
A continuación se muestra un diccionario el contiene todas aquellas ocurrencias que tuvo cada trader durante su periodo de inversión y una tabla la cuál muestra:
Para la sensibilidad decreciente se compara lo siguiente con la info de la primera operación ancla y la última operación ancla:
Si y sólo si por lo menos dos de: (a), (b), (c) se cumplen, entonces, hay sensibilidad decreciente.
bf_chelsi = behavioral_finance(meta_path_c, login_count_c, password_count_c, server_name_c)
dic_bf_chelsi= bf_chelsi.f_be_de()
dic_bf_chelsi
{'Ocurrencias': {'Cantidad': 4},
'Ocurrencia_1': {'timestamp': '2021-09-20 23:46:16',
'Operaciones': {'Ganadora': {'Instrumento': '#JP225_Z21',
'Volumen': 0.06,
'Sentido': 'buy',
'Profit_ganadora': 127.5},
'Perdedora': {'Instrumento': 'USDCAD',
'Volumen': 0.04,
'Sentido': 'buy',
'Profit_perdedora': -19.04}},
'Ratio_cp_profit_acm': -0.15,
'Ratio_cg_profit_acm': 1.04,
'Ratio_cp_cg': -0.15},
'Ocurrencia_2': {'timestamp': '2021-09-21 20:58:06',
'Operaciones': {'Ganadora': {'Instrumento': 'NDAQ.O',
'Volumen': 0.04,
'Sentido': 'buy',
'Profit_ganadora': 0.14},
'Perdedora': {'Instrumento': 'CME.O',
'Volumen': 0.45,
'Sentido': 'buy',
'Profit_perdedora': -0.02}},
'Ratio_cp_profit_acm': -0.0,
'Ratio_cg_profit_acm': 0.0,
'Ratio_cp_cg': -0.17},
'Ocurrencia_3': {'timestamp': '2021-09-21 21:25:38',
'Operaciones': {'Ganadora': {'Instrumento': '#UK100',
'Volumen': 0.08,
'Sentido': 'buy',
'Profit_ganadora': 9.97},
'Perdedora': {'Instrumento': 'AAPL.O',
'Volumen': 0.1,
'Sentido': 'buy',
'Profit_perdedora': -0.14}},
'Ratio_cp_profit_acm': -0.0,
'Ratio_cg_profit_acm': 0.08,
'Ratio_cp_cg': -0.01},
'Ocurrencia_4': {'timestamp': '2021-09-22 21:15:11',
'Operaciones': {'Ganadora': {'Instrumento': 'CME.O',
'Volumen': 0.45,
'Sentido': 'buy',
'Profit_ganadora': 2.37},
'Perdedora': {'Instrumento': 'ADBE.O',
'Volumen': 0.25,
'Sentido': 'buy',
'Profit_perdedora': -0.01}},
'Ratio_cp_profit_acm': -0.0,
'Ratio_cg_profit_acm': 0.02,
'Ratio_cp_cg': -0.0},
'Resultados': {'Dataframe': ocurrencias status_quo aversion_perdida sensibilidad_decreciente
0 4 100.0% 0.0% No}}
dic_bf_chelsi['Resultados']['Dataframe']
| ocurrencias | status_quo | aversion_perdida | sensibilidad_decreciente | |
|---|---|---|---|---|
| 0 | 4 | 100.0% | 0.0% | No |
bf_daniel = behavioral_finance(meta_path_d, login_count_d, password_count_d, server_name_d)
dic_bf_daniel = bf_daniel.f_be_de()
dic_bf_daniel
{'Ocurrencias': {'Cantidad': 1},
'Ocurrencia_1': {'timestamp': '2021-09-23 02:06:35',
'Operaciones': {'Ganadora': {'Instrumento': 'USDCHF',
'Volumen': 0.05,
'Sentido': 'buy',
'Profit_ganadora': 4.37},
'Perdedora': {'Instrumento': 'GBPUSD',
'Volumen': 0.05,
'Sentido': 'buy',
'Profit_perdedora': -20.6}},
'Ratio_cp_profit_acm': -0.9,
'Ratio_cg_profit_acm': 0.19,
'Ratio_cp_cg': -4.71},
'Resultados': {'Dataframe': ocurrencias status_quo aversion_perdida sensibilidad_decreciente
0 1 100.0% 100.0% No}}
dic_bf_daniel['Resultados']['Dataframe']
| ocurrencias | status_quo | aversion_perdida | sensibilidad_decreciente | |
|---|---|---|---|---|
| 0 | 1 | 100.0% | 100.0% | No |
A pesar de que se tiene 100% en estatus quo y en aversion a la pérdida, no se tiene sensibilidad decreciente debido a que solo se cuenta con una ocurrencia.
bf_bruno = behavioral_finance(meta_path_b, login_count_b, password_count_b, server_name_b)
dic_bf_bruno = bf_bruno.f_be_de()
dic_bf_bruno
{'Ocurrencias': {'Cantidad': 8},
'Ocurrencia_1': {'timestamp': '2021-09-21 16:34:46',
'Operaciones': {'Ganadora': {'Instrumento': 'AMZN.O',
'Volumen': 1.0,
'Sentido': 'buy',
'Profit_ganadora': 24.18},
'Perdedora': {'Instrumento': 'FB.O',
'Volumen': 2.0,
'Sentido': 'buy',
'Profit_perdedora': -0.8}},
'Ratio_cp_profit_acm': 0.01,
'Ratio_cg_profit_acm': -0.19,
'Ratio_cp_cg': -0.03},
'Ocurrencia_2': {'timestamp': '2021-09-21 21:21:14',
'Operaciones': {'Ganadora': {'Instrumento': 'MMM.N',
'Volumen': 0.5,
'Sentido': 'buy',
'Profit_ganadora': 1.8},
'Perdedora': {'Instrumento': 'FB.O',
'Volumen': 2.0,
'Sentido': 'buy',
'Profit_perdedora': -12.64}},
'Ratio_cp_profit_acm': 0.02,
'Ratio_cg_profit_acm': -0.0,
'Ratio_cp_cg': -7.02},
'Ocurrencia_3': {'timestamp': '2021-09-23 19:47:50',
'Operaciones': {'Ganadora': {'Instrumento': 'EURGBP',
'Volumen': 5.0,
'Sentido': 'buy',
'Profit_ganadora': 946.53},
'Perdedora': {'Instrumento': 'FB.O',
'Volumen': 2.0,
'Sentido': 'buy',
'Profit_perdedora': -8.02}},
'Ratio_cp_profit_acm': -0.06,
'Ratio_cg_profit_acm': 6.88,
'Ratio_cp_cg': -0.01},
'Ocurrencia_4': {'timestamp': '2021-10-05 15:40:00',
'Operaciones': {'Ganadora': {'Instrumento': 'GBPUSD',
'Volumen': 2.0,
'Sentido': 'sell',
'Profit_ganadora': 1180.0},
'Perdedora': {'Instrumento': 'GBPJPY',
'Volumen': 1.0,
'Sentido': 'sell',
'Profit_perdedora': -61.8}},
'Ratio_cp_profit_acm': -0.05,
'Ratio_cg_profit_acm': 0.9,
'Ratio_cp_cg': -0.05},
'Ocurrencia_5': {'timestamp': '2021-10-05 15:47:20',
'Operaciones': {'Ganadora': {'Instrumento': 'EURGBP',
'Volumen': 3.0,
'Sentido': 'buy',
'Profit_ganadora': 0.0},
'Perdedora': {'Instrumento': 'GBPUSD',
'Volumen': 2.0,
'Sentido': 'sell',
'Profit_perdedora': -1284.0}},
'Ratio_cp_profit_acm': -0.97,
'Ratio_cg_profit_acm': 0.0,
'Ratio_cp_cg': -inf},
'Ocurrencia_6': {'timestamp': '2021-10-06 18:34:29',
'Operaciones': {'Ganadora': {'Instrumento': 'AUDCHF',
'Volumen': 4.0,
'Sentido': 'buy',
'Profit_ganadora': 430.93},
'Perdedora': {'Instrumento': 'PFE.N',
'Volumen': 4.0,
'Sentido': 'buy',
'Profit_perdedora': -1.44}},
'Ratio_cp_profit_acm': -0.0,
'Ratio_cg_profit_acm': 0.21,
'Ratio_cp_cg': -0.0},
'Ocurrencia_7': {'timestamp': '2021-10-06 18:39:16',
'Operaciones': {'Ganadora': {'Instrumento': 'AAL.O',
'Volumen': 2.0,
'Sentido': 'buy',
'Profit_ganadora': 0.0},
'Perdedora': {'Instrumento': 'AUDCHF',
'Volumen': 4.0,
'Sentido': 'buy',
'Profit_perdedora': -535.03}},
'Ratio_cp_profit_acm': -0.27,
'Ratio_cg_profit_acm': 0.0,
'Ratio_cp_cg': -inf},
'Ocurrencia_8': {'timestamp': '2021-10-06 18:44:13',
'Operaciones': {'Ganadora': {'Instrumento': 'IR.N',
'Volumen': 3.0,
'Sentido': 'buy',
'Profit_ganadora': 2.13},
'Perdedora': {'Instrumento': 'PFE.N',
'Volumen': 4.0,
'Sentido': 'buy',
'Profit_perdedora': -1.68}},
'Ratio_cp_profit_acm': -0.0,
'Ratio_cg_profit_acm': 0.0,
'Ratio_cp_cg': -0.79},
'Resultados': {'Dataframe': ocurrencias status_quo aversion_perdida sensibilidad_decreciente
0 8 75.0% 37.5% No}}
dic_bf_bruno['Resultados']['Dataframe']
| ocurrencias | status_quo | aversion_perdida | sensibilidad_decreciente | |
|---|---|---|---|---|
| 0 | 8 | 75.0% | 37.5% | No |
Para comprender mejor los resultados anteriores se realizaron algunas visualizaciones .
Primero, se muestra una gráfica de pastel para poder observar de manera más sencilla el ranking, es decir cual de todos nuestros activo tuvo una mayor efectividad.
Después se muestra la gráfica DrawDown y DrawUp, donde podemos encontrar una línea de color negro que representa la evolución del capital acumulado diario, una línea punteada de color verde que representa el DrawUp, que va desde la fecha inicial hasta la fecha final de ocurrencia del máximo DrawUp y una línea punteada de color rojo que represente el DrawDown, que va desde la fecha inicial hasta la fecha final de ocurrencia del máximo DrawDown.
Por último, se muestra la gráfica de Behavioral Finance donde puede observar en el eje de las X a las variables 'Status Quo', 'Aversión Perdida','Sensibilidad Decreciente' y cada uno contiene la cantidad de veces que cada uno de estos se presento en el periodo de tiempo.
vis_chelsi = visualizaciones(usuario_c, meta_path_c, login_count_c, password_count_c, server_name_c)
vis_chelsi.grafica_ranking()
vis_chelsi.grafica_draw()
vis_chelsi.grafica_disposicion()
vis_daniel = visualizaciones(usuario_d, meta_path_d, login_count_d, password_count_d, server_name_d)
vis_daniel.grafica_ranking()
vis_daniel.grafica_draw()
vis_daniel.grafica_disposicion()
vis_bruno = visualizaciones(usuario_b, meta_path_b, login_count_b, password_count_b, server_name_b)
vis_bruno.grafica_ranking()
vis_bruno.grafica_draw()
vis_bruno.grafica_disposicion()
A largo de este laboratorio, lo que se buscaba era observar el comportamiento de las operaciones de cada trader y observar si caímos en el efecto de disposición, el cual observa la tendencia que tienen los inversionistas a vender más rapidos aquellos activos que tienen alguna ganancia y conservar aquellos que están disminuyendo su valor.
En el caso del perfil de Chelsi notamos que no hubo sensibilidad decreciente, ni aversión a la pérdida, pero lo que si hubo fue status_quo. Esto quiere decir que las decisiones que tomó a lo largo del periodo de traiding no estuvieron tan sesgadas en cuanto a pérdidas y ganancias, sino que más bien hubo un sesgo en cuanto al punto de vista del profit acumulado. De igual manera el activo que tuvo un mayor rank fue "#JP225_Z21".
En el caso del perfil de Daniel el tema fue que no se realizaron muchas operaciones y eso influyó mucho en los resultados, debido a que solo se contó con una ocurrencia en la que se cerrara una operación de ganancia mientras se tenía una de pérdida abierta. Es por eso que no se contó con sensibilidad decreciente, a pesar de que si se contó con status quo y con aversión a la pérdida. El activo que tuvo un mayor rank fue "USDCHF".
Por último, en el perfil de Bruno podemos notar que si se hicieron muchas mas operaciones lo que ayudó a poder obtener mejores resultados y con esto poder tomar mejores conclusiones en cuanto a los sesgos que se tuvieron en la toma de decisiones. En este caso no se tuvo sensibilidad decreciente, y cuando se calculó dicha sensibilidad con todas las ocurrencias que tuvo, solo se tuvo en un 37.5% de las ocurrencias totales, por lo tanto, no cuenta con este tipo de sesgo. El activo que tuvo un mayor rank fue "AMZN.O".
[1] Munnoz, 2020. Python project template. https://github.com/iffranciscome/python-project. (2021)